import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    tasklist: [], //任务列表
  },
  getters: { //定义计算方法(类似于数组中的计算属性)
    // 计算方法的参数一：数据仓库对象中的state
    unFinishCount(state) { //统计未完成任务的数量
      var arr = state.tasklist.filter((item) => {
        return item.status == false;
      })
      return arr.length;
    }
  },
  mutations: {
    addTask(state, payload) {
      // 构建一个新的任务对象，status属性表示任务的状态(true 已完成； false 未完成)
      var obj = { id: state.tasklist.length + 1, name: payload, status: false };
      state.tasklist.push(obj); //添加到任务列表中
    },
    changeStatus(state, payload) {
      // 查找需要修改状态的那个任务对象
      var conditing = state.tasklist.find((item) => {
        return item.id == payload.id
      });
      if (conditing) {//判断是否找到
        conditing.status = !conditing.status;
      }
    },
    Delete(state, payload) {
      state.tasklist.splice(payload);
    }
  },
  actions: {
  },
  modules: {
  }
})
